package com.grumoon.volleydemo.adapter;

import android.content.Context;
import android.widget.ImageView;

import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.ImageLoader.ImageContainer;
import com.android.volley.toolbox.ImageLoader.ImageListener;
import com.grumoon.volleydemo.R;
import com.grumoon.volleydemo.util.LruImageCache;
import com.grumoon.volleydemo.util.StringUtil;
import com.grumoon.volleydemo.util.VolleyUtil;

/**
 * 
 ***************************************************** 
 * <hr>
 * <dt><span class="strong">类功能简介:</span></dt>
 * <dd>Coffee</dd>
 * <dt><span class="strong">创建时间:</span></dt>
 * <dd>2015-3-19 下午2:59:02</dd>
 * <dt><span class="strong">公司:</span></dt>
 * <dd>ImageLoaderAdaoter</dd>
 * 
 * @author aa1000777 - Email:aa1000777@qq.com
 ***************************************************** 
 */
public class ImageLoaderAdapter extends ImageBaseAdapter {

	private ImageLoader imageLoader;

	public ImageLoaderAdapter(Context context, String[] imageUrlArray) {
		super(context, imageUrlArray);
		this.imageLoader = new ImageLoader(VolleyUtil.getQueue(context), new LruImageCache());
	}

	@Override
	int getItemLayout() {
		return R.layout.fr_image_request_list_item;
	}

	@Override
	void setImage(ImageView imageView, String imageUrl) {
		ImageContainer container;
		try {
			// 如果当前ImageView上存在请求，先取消
			if (imageView.getTag() != null) {
				container = (ImageContainer) imageView.getTag();
				container.cancelRequest();
			}
		} catch (Exception e) {
		}
		ImageListener listener = ImageLoader.getImageListener(imageView, R.drawable.ic_empty, R.drawable.ic_empty);
		container = imageLoader.get(StringUtil.preUrl(imageUrl), listener);
		// 在ImageView上存储当前请求的Container，用于取消请求
		imageView.setTag(container);

	}

}
